package com.rnkrsoft.suyan.config.server.system.entity;

import com.rnkrsoft.framework.orm.PrimaryKey;
import com.rnkrsoft.framework.orm.PrimaryKeyStrategy;
import com.rnkrsoft.framework.orm.jdbc.*;
import com.rnkrsoft.suyan.config.internal.enums.OperateStatus;
import lombok.*;

import java.io.Serializable;

/**
 * rnkrsoft.com 框架自动生成!
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Table(name = "OPERATE", prefix = "TB", suffix = "INFO")
@Comment("操作定义表")
public class OperateEntity extends BaseEntity implements Serializable {
    @Comment("操作主键")
    @PrimaryKey(strategy = PrimaryKeyStrategy.IDENTITY)
    @NumberColumn(name = "OPERATE_ID", nullable = false, type = NumberType.INTEGER)
    Integer operateId;

    @Comment("操作代码")
    @StringColumn(name = "OPERATE_CODE", nullable = false, type = StringType.VARCHAR)
    String operateCode;

    @Comment("操作标题")
    @StringColumn(name = "OPERATE_TITLE", nullable = false, type = StringType.VARCHAR)
    String operateTitle;

    @Comment("功能编号")
    @StringColumn(name = "ACTION_ID", nullable = false, type = StringType.VARCHAR)
    String actionId;

    @Comment("版本编号")
    @StringColumn(name = "VERSION_ID", nullable = false, type = StringType.VARCHAR)
    String versionId;

    @Comment("子功能状态")
    @NumberColumn(name = "OPERATE_STATUS", nullable = false, type = NumberType.BYTE, enumClass = OperateStatus.class, defaultValue = "1")
    Integer operateStatus;
}
